SFT.xml - "
Simplified Family Tree xml"
Concept by Michael Stransky working with web based XML.
Structured Concept:
Gedcom is one flat file which is made up of data storage areas to contain data in record sets like INDI@, SOUR@, FAM@, REPO@...What SFT does is breaks down those data sets into more flexible independent XML files. But any any time one can reconstruct a gedcom single flat file again with a xslt will parse the multiple xml files and sequence them into a single text output in gedcom format.
PID.xml >> Gedcom equivalent INDI
This is the default data snip set that the user or researcher wishes to have a person displayed in a navigational tree as generic representation of preferred individual data like birth, death, dates and places. That is it, all other records will be discussed shortly in EID.xml.
FUNCTION: This file controls a default person display markers, pedigree, navigation, and parent child relationships.
<xml><data>
<set>
<pid>1</pid><cid>2</cid><pgm>John Fitzgerald</pgm><psn>Kennedy</psn><psx>M</psx><pbd>1917</pbd><pbp>Brookline, MA</pbp><pdd>1963</pdd><pdp>Dallas, TX</pdp>
</set><set>
<pid>2</pid><cid>4</cid><pgm>Jaqueline Lee</pgm><psn>Bouvier</psn><psx>F</psx><pbd>1929</pbd><pbp>Southampton, NY</pbp><pdd>1994</pdd><pdp>New York City, NY</pdp>
</set>
.......more individaul sets......
</data><xml>
|
FID.xml >> Gedcom equivalent FAM
This is the linkage for navigation from person to parents and children. A "cid" in the pid is know as Child of family ID in the "FID.xml".
FUNCTION: This file controls a bond display markers to display pedigree, navigation, and parent child relationships even step children in a family view..
<xml><data>
<set>
<fid>2</fid><hid>8</hid><wid>9</wid><fbd>07 OCT 1914</fbd><fbp>Newport, RI, USA</fbp><fdd></fdd><fdp></fdp>
</set>
<set>
<fid>4</fid><hid>3</hid><wid>4</wid><fbd></fbd><fbp></fbp><fdd></fdd><fdp></fdp>
</set>
.......more bonds or family sets......
</data>
<xml>
|
SID.xml >> Gedcom equivalent SOUR
This is when a person enters a document strictly as a source. This is strictly to capture the physical document NOT the information found within. This SID.xml also can point to an external image file name found in a default hard drive location folder or web folder.
FUNCTION: This file controls source documents collected and stores them in one place and can link to folder image or locations if available.
<xml><data>
<set>
<sid>1</sid><rid>?</rid><iid>19283.jpg</iid><cls>Birth</cls><typ>Certificate<typ><rtl>"Record of birth"<rtl>
<rdt>1 Jun 1917<rdt><rlo>Rhode Island Newport Centeral Hospitol</rlo><rpl>Newport, RI, USA</rpl>
</set><set>
<sid>2</sid><rid>?</rid><iid>63746.pdf</iid><cls>Marriage</cls><rtl>Marriage Record<rtl>
<rdt>07 OCT 1914<rdt><rlo>St. Pauls Church of Newport<rlo><rpl>Newport, RI, USA</rpl>
</set>
..........sid Source ID, rid is repository, iid image ID link to default image file/folder ...............
</data></xml>
|
Note: some source documents are captured days after an event. The event date from inside a sid gets captured in the EDI file. Such like Newspapers will Print Thursday of an event that happen on the previous Monday. Above for source I made up some data so this can been seen.
- due to others input the gedcom REPO and PUBL need to have independent xml files also.
EID.xml >> Gedcom equivalent BIRT, MARR, DEAT, etc....
This is the collected data sets (interpretation or observed data inside the source BUT NOT the source data itself) This is where USERS enter independent lines of data, pulled from inside a source, about details and events. Such data like a citation, each single entry per person will then point to a single (pID) and the (sID). This establishes the connection of the person to a source with "acceptance level of proof".
FUNCTION: This file controls all the users entered data of the observations of aka information found inside source documents. Also provides a user the ability to keep track of which citations have been review or not, also what level of acceptance they bare.
<xml><data>
<set>
<eid>1</eid><pid>1</pid><sid>1</sid><cls>Birth</cls><typ>Cert<typ><rol>baby<rol><egn>John Fitzgerald</egn><esn>Kennedy</esn>{<tagA>?#</tagA><tagB>?#</tagB><tagC>?#</tagC>}
</set><set>
<eid>2</eid><pid>8</pid><sid>1</sid><cls>Birth</cls><typ>Cert<typ<rol>Father<rol><egn>Joseph Patrick</egn><esn>Kennedy</esn>{<tagA>?#</tagA><tagB>?#</tagB><tagC>?#</tagC>}
</set><set>
<eid>3</eid><pid>9</pid><sid>1</sid><cls>Birth</cls><typ>Cert<typ><rol>Mother<rol><egn>Rose Elizabeth</egn><esn>Fitzgerald</esn>{<tagA>?#</tagA><tagB>?#</tagB><tagC>?#</tagC>}
</set><set>
<eid>4</eid><pid>8</pid><sid>2</sid><cls>Marital</cls><typ>Marriage<typ<rol>Groom<rol><egn>Joseph Patrick</egn><esn>Kennedy</esn>{<tagA>?#</tagA><tagB>?#</tagB><tagC>?#</tagC>}
</set><set>
<eid>5</eid><pid>9</pid><sid>2</sid><cls>Marital</cls><typA>Marriage<typ><rol>Bride<rol><egn>Rose Elizabeth</egn><esn>Fitzgerald</esn>{<tagA>?#</tagA><tagB>?#</tagB><tagC>?#</tagC>}
</set>
..........more event evidence records linking sources to PIDS also group views of people and places tied to an event or source document...............
</data></xml>
|
{requested options to include level evidence facts, also if record should be viewed publicly and shared during an export process.} - will be modified for better clarification once BG touches on this topic.
tagA # to designate level of privacy to display info.
tagB # to designate level to be exported and shared.
tagC # to designate level of evidence that it may bare.
each tag level
Restricted, Confidential, Private, Public
1 Restricted, No display, no share, no transfer.
2 Confidential, No display, no share, yes transfer.
3 Private, limit display, yes share, yes transfer.
4 Public, yes display, yes share, yes transfer.
LID.xml View>> Gedcom
equivalent ?
Here is a new concept request, many historians and USERs request to track locals and locations which change names. Those locations that have split up and/or land areas regroup by wars, including such districts and name changes. These two DB files acts the same, LID = PID. Also evidence records (EID's) can be shared between multiple PID's and LID's from a same source document. All EID's from a single source event can CAPTURE all persons and locations to a single source event.
FUNCTION: This file controls default location display place markers, changes, gps, and land aka name relation changes over time.
For the home hobby user:
For a hobbist they may use the PID and FID to store default place-markers of people which has the ability to display all descendant, pedigree and household views along with half or step siblings. The way PID and FID are constructed can import GEDCOM standard INDI and FAM records as well export out to GEDCOM structure again.
For the Researcher minded user:
The SID and EID are xml files to place source records and evidence records for tracking assumptions and record keeping. These xml files are structure for easy import and export of single, multiple or entire file as a collection or archive. If a researcher may use the PID xml to attach many evidence records to an individual this can be easily done. This PID individual acts as a place marker to list all records to a single person in question.
By using both ends of the xml areas, using them together make a better over all use and flexibilty in needs and seprated storage.
For sharing files, If one wished to share all xml files they can be shared. If one wishes only to import or export all or some EID or SID records, only those files can be selected and performed as desired. A users PID outline of people are not over written, just new additional EID and SID records are added to the collected archive or research work in the EID and SID files. The PID and FID navigations do not get corrupted or even touched since no actual records are store inside each individual place-marker record. Each evidence records only point to the ID# of an individual of choice.
Here is a GEDCOM like structure to see how the above xml matches up in a gedcom like file.
Note the tags I used are my tags which have no bearing on a gedcom tag or a future BG tag that will be used to identify the data field in question. This list only represents which data field I am to sync with and data that I am capturing for an import or export purposes.
Gedcom like so it is easier fro people to follow
- This acts like your INDI area
0 PID 1
1 cid 2
1 pgm John Fitzgerald
1 psn Kennedy
1 psx M
1 pbd 1917
1 pbp Brookline, MA
1 pdd 1963
1 pdp Dallas, T
0 PID 2
1 cid 4
1 pgm Jaqueline Lee
1 psn Bouvier
1 psx F
1 pbd 1929
1 pbp Southampton, NY
1 pdd 1994
1 pdp New York City, NY
.......more Person sets......
- This acts like your FAM area
0 FID 2
1 hid 8
1 wid 9 fbd 07 OCT 1914
1 fbp Newport, RI, USA
1 fdd
1 fdp
0 FID 4
1 hid 3
1 wid 4
1 fbd
1 fbp
1 fdd
1 fdp
.......more bonds or family sets......
- This acts like your ASSO area
0 EID 1
1 pid 1
1 sid 1
1 cls Birth
1 typ Cert
1 rol baby
1 egn John Fitzgerald
1 esn Kennedy
1 tagA ?#
1 tagB ?#
1 tagC ?#
0 EID 2
1 pid 8
1 sid 1
1 cls Birth
1 typ Cert
1 rol Father
1 egn Joseph Patrick
1 esn Kennedy
1 tagA ?#
1 tagB ?#
1 tagC ?#
0 EID 3
1 pid 9
1 sid 1
1 cls Birth
1 typ Cert
1 rol Mother
1 egn Rose Elizabeth
1 esn Fitzgerald
1 tagA ?#
1 tagB ?#
1 tagC ?#
0 EID 4
1 pid 8
1 sid 2
1 cls Marital
1 typ Marriage
1 rol Groom
1 egn Joseph Patrick
1 esn Kennedy
1 tagA ?#
1 tagB ?#
1 tagC ?#
0 EID 5
1 pid 9
1 sid 2
1 cls Marital
1 typA Marriage
1 rol Bride
1 egn Rose Elizabeth
1 esn Fitzgerald
1 tagA ?#
1 tagB ?#
1 tagC ?#
.......more bonds or family sets......
- This acts like your SOUR area.
0 SID 1
1 rid ?
1 iid 19283.jpg
1 cls Birth
1 typ Certificate
1 rtl "Record of birth"
1 rdt 1 Jun 1917
1 rlo Rhode Island Newport Central Hospital
1 rpl Newport, RI, USA
0 SID 2
1 rid ?
1 iid 63746.pdf
1 cls Marriage
1 rtl Marriage Record
1 rdt 07 OCT 1914
1 rlo St. Pauls Church of Newport
1 rpl Newport, RI, USA
.......more Source sets......
Keeping this short I did not include Event locations over time
and how places and people can be linked to a single event/area.
I will add that request soon how I would control a users needs to track
historical locations over time as land or property changes names. This
will be achieved by mimicking the INDI and FAM area.
LOCA = INDI and AREA = FAM but contain thier own pedigree from
one data change during land splits, joining areas together or name
changes with GPS or near the area.
|
Data field defined
PID Person id #
cid Child of family FID match
pgm Persons given names
psn Persons surname
psx Persons sex
pbt Persons birth date
pbp Persons birth place
pdt persons death date
pdp Persons death place
??? updating the rest of the list.
FID Family, Group or Bond #
hid husband = PID #
wid wife = PID #
fbd bond start date
fbp bond start place
fdt bond end date
fdp bond end place
??? updating the rest of the list.
EID event from a source
pid = PID # match too
sid = SID # match too
cls = classifictation of event
typ = sub type of event
rol = role individual played
egn = event pers given name
esn = event pers surname
tagA = ?privacy level
tagB = ?shared level
tagC = ?users progress
??? updating the rest of the list
SID Source # ID
rid REPO # ID
iig image file name
cls Source Classification
typ Source Sub class type
rtl record title
rlo records location
rpl records place
??? updating the rest of the list
|
Thank you for posting the model here, so that we can begin to understand it better, separate from discussions of existing GEDCOM.
Realizing you may have addressed this in another discussion thread ....
(1) Is there a work process or work flow associated with the model?
(2) Do you consider this model to be "evidence-conclusion" based?
(3) GenTech defined particular data definitions and advanced certain reasoning about those definitions. Using your model, can you help us "see" how you considered those principals? Which GenTech principals does your model advance and how?
(4) We have posted references to various known genealogical standards level materials and/or best thinking (if not best practices). These might include the Genealogical Proof Standard and evidence management ala _Evidence Explained_. Have you had a chance to review any of those materials enough to explain to us how your model supports specific features of those standards or that best thinking.
(5) Assuming it is an "evidence-conclusion based model, how will would the BetterGEDCOM transfer mechanism of this model support "conclusion based" software export?
... or both can be false. The point is you have possibly conflicting evidence that you want to document, just like different documents may give different birth dates, etc.
Are you trying to capture the evidence lets say in gedcom terms for an example.
0 @I50@ INDI
1 EVID @E75@
2 ROLL step-daughter
1 SOUR @S455@
2 TITL reading of a will
0 @I50@ INDI
1 EVID @E78@
2 ROLL Cousin
1 SOUR @S777@
2 TITL NJ 1910 fed census
0 @I88@ INDI
1 EVID @E91@
2 ROLL step-Father
1 SOUR @S455@
2 TITL reading of a will
0 @I88@ INDI
1 EVID @E92@
2 ROLL Head
1 SOUR @S777@
2 TITL NJ 1910 fed census
So if you listed or say view a sour record
Display related linked records like so.
SOUR @S777@ "1910 fed census NJ......."
EVID @E92@ "Head John Smith age ...."
EVID @E78@ "Cousin Mary fields......"
Or by looking at a person the evidence recordds list like so
INDI @I50@ "Mary Fields from - to........"
EVID @E78@ "Cousin Mary fields........."
EVID @E78@ "step-daughter Mary fields.."
I have many ways to keep options open to capture what people what as tools, display options or new kinds of displays. I also keep myself open to altering a GEDCOM like version as shown here if others might consider and also keep my options open in XML formats as well.
I think we need to ask what fields of data people need to capture, and how they want they to be display as user NEEDS. then let each techie look at it if it can be done and share possiable ways to perform it keeping "how to on the table" and "needs or the users wishes" and the BG terminology people can make a shcolary definition of it all.
0 @I50@ INDI
1 EVID @E75@
2 ROLL step-daughter
1 SOUR @S455@
2 TITL reading of a will
1 EVID @E78@
2 ROLL Cousin
1 SOUR @S777@
2 TITL NJ 1910 fed census
0 @I88@ INDI
1 EVID @E91@
2 ROLL step-Father
1 SOUR @S455@
2 TITL reading of a will
1 EVID @E92@
2 ROLL Head
1 SOUR @S777@
2 TITL NJ 1910 fed census
"ROLL" should be (if anything) "ROLE"
The SOUR tags should be level 2 under the EVID tag. They are the source of the Evidence, not of the Individual.
I'd have had the step-father/daughter relationship as follows:
0 @I50@ INDI
1 ASSO @I88@
2 RELA step-daughter
2 SOUR @S455@
3 TITL reading of a will
0 @I88@ INDI
1 ASSO @I50@
2 ROLL step-Father
2 SOUR @S455@
2 TITL reading of a will
and the above is currently valid GEDCOM, although few programs currently handle it.
Your second part is not about relationships of two people, but it relationships to the Head of the family of the federal census record. I don't think you want to record that this way. If we had a "Group" of people, we would refer to them.
The key thing you left out in your example was that you were pointing to an evidence record, and were not pointing to the other person's INDI record.
Louis
-True thats why I was trying to say like gedcom, because my model would be to new to follow along.
"The SOUR tags should be level 2 under the EVID tag. They are the source of the Evidence, not of the Individual."
- correct again I was just trying to say to ref towards a sour record
1 > sour
not
0 SOUR.
I like your ASSO also.
"The key thing you left out in your example was that you were pointing to an evidence record, and were not pointing to the other person's INDI record."
Yes that is what I am trying to do.
Say by looking at a source record and you want to view all the people that took a part in the event.
The, (I'll use your term with my example)
Say you look at a census record with 8 people in a home
That sour record is ref'd by 8 records which some people call observed data in the image, but is now entered as text fields.
1-8 captures the person names, ages, roles they played etc... and each other the 8 persons captured with data pointing to the source image or document also point the the ACUTAL individaul in a tree outline.
So if you even pulled up a wedding record you could just have the bride and groom, 2 observed data text from the source pointing to the two indivuals each,. ONE can even get creative and add in the witnesses, the Judge and minister, even the clerk.
People dont have to be related by blood but they are all tied to an event or source doc.
About the girl being the cousin and also the step daughter.
Most researchers may be able to view the ONE person and see ALL roles in the listed "Observed data records" on one screen and which each point back to a source record.
Or the source record view can see all the persons and rolls they played at an event on the screen at one time.
The thing you have is trying to find a link how a girl can be the Cuosin and step-daughter at the same time.
Over all, I think this really just a user "need to follow up Flag marker option" not that you need to have a software fill in a very big blank to over come missing information.
If a person did find the root cuase that her Mother married her Cousin Billy after her father died, Then you could add "Marys fields" Mother and complete that little brick wall. Without going crazy making complex data structures to capture the math.
Once the mother has been added the APP software would canculate and display such relations without having to designate extra data fields make transffer of data more complex?
I am just kind of throwing this out there, because I would not want to be the one writing all the code to capture relations went any APP will allready do that with no tagged fields?
Once the mother is added to the INDI or tree outlines the display and app side functions canculated and display this info without have to make new extra fields to capture "AUTOMATIC APP SIDE TOOLS".
Just becuase we dont have the mother record in hand we should not make the DB or APP more complex from others. This some hard core researchers might agree that is where you have to Hypothisis about how could it be, research into it while those two records of evidence are flagged "Needs follow up".
Maybe it should be something like this:
0 @S777@ SOUR
1 TITL NJ 1910 fed census
1 ASSO @I50@
2 ROLE Cousin
1 ASSO @I88@
2 ROLL Head
The "ASSO" tag is illegal here, but something like this would work fine. Then the program can include with the info about INDI I88 that this person was the Head of the family in the NJ 1910 fed census, and it would link to the correct source.
What I have learn.
Most researchers look at a document and translate the images into records. this ACTION I have put into one area. Thereseearcher keeps all the work and records in one xml file.
Now these records are uniform and are NOT stored with outline trees or even stored inside INDI records for possible overwriteing of ones hard work and research. Also of sources are kept in a xml file as their own like a big COLLECTION of repo and image links.
People outlines can be very poor information when sharing and merging, sources can be poorly collected. BUT the key work of a researcher is his or hers work kept seperate from all the ther ways it can get influence with merges and sharing as ONE BIG FILE.
In a gedcom way I am doing this
0 INDI @50@
1 NAME Mary Fields
0 INDI @88@
1 NAME Billy Smith
0 @S777@ SOUR
1 TITL NJ 1910 fed census
2 .....
0 EVID @E441@
1 CLAS census
- ref to @S777@
2 ROLE Cousin0 EVID @E444@
1 CLAS census
- ref to @S777@
2 ROLL HeadFor me it is import that the INDI stays strickly an outline tree with just default data for user prefrence as person place-marker
and printouts, note there is no records stored inside
2nd the Evidence or researchers work is capture in one area linking all sources to the person in question with the researchers data in veiw.
I see people will rather just share evidence and source images, not someonelse outlines that have no proof. A reseacher will collect data attach the records to a per and slowing build out there own tree outline BY THE PROOF.
On the other hand the home hobby care less for the digging and just wants to print out pretty outlines, and they can. this suits both worlds with out taking control over the original function of the areas.
If you like what I am showing you, I have a very easy fix in gedcom LIKE version to sufice the need to trake locals and locations over time and it links locations WITH people to the event vid the evidence records above.
"As to where I'd put the information that one person is the step-daughter of the other, I'd put it in using the association structure:
0 @I50@ INDI
1 ASSO @I75@
2 RELA step-daughter"
Tom had already said, to start this discussion:
"<person id="yyy">
<name>William Dells</name>
<relation id="xxx" type="stepDaughter"/>
<source id="sss"/>
<person>"
So now I wonder what all the fuss was about! Our two solutions are identical, except mine is written in DeadEnds XML, and yours is in normal GEDCOM.
Tom Wetmore
I think the confusion comes from when we look at another persons style, right off the bat not understanding it right away we say "that way? how would you do Z?"
I think what will help us in the long run, which I have been trying to point out for about three weeks now is a "BG data fields list"
I see they are having that on "Goals".
If this list is made, the next problem for the DEVS and TECHIES is the BG format to import and export from.
Can I suggest a GEDCOM like structure with new tags like ASSO as Louis is alreay doing. Also that other thing I have been stressing is soft text tags over Hard encoded tags if we can.
I won't make a long winded blurb here but if you ask me what I mean I can then type it out.
You either of you oppose to a gedcom like file to import and export to, with additional strucutre modifications?
I expect that eg. a probate, that may specify a biological relation (eg. cousin) between two persons, AND also specify that one is a guardian for the other, will be recorded as two links – the first via a biological asso type of relation, and the other one via a guardian role for a probate event – or should both go via the event??
I have not looked at the census stuff yet.
Tom:
Yes, we're identical.
I think I raised the fuss only because I incorrectly believed XML required the attribute values to be pre-specified when I saw your list of values.
Mike: This thread is getting a little long now. having to go to page 3. Please start your other initiatives, but do so in some new threads attached to appropriate pages.
I have....
PMMF | PMMM | PFMF | Etc...
My goes
PMMF = Person Mothers Mothers Father
PMMM = Person Mothers Mothers Mothers
PFMF = Person Fathers Mothers Fathers
It can goes back as far as needed Such like PFFMMFFM
This is already done and running. But is more an inside APP function.
Since you also are needing such things as Step-Child or Step-Father I have a way to add that to my model fairly easy. It will be an app fuction like my pedigree formula as I have shown above.
That said. Are the app people to show these relations as a display or are users requesting a filed be shown a relation tag per person or per peice of evidence on a single person.
1) if a peice of evidence NEEDS a field to hold a relationship text ok, I can kind of see that.
2) But an individual having to have a hard tag relations ship to everyone away from thenself. I see that as kind of not good.
Each person can be a grandfather of, a sibling to 4 other people, a spouse to two other people and step child of another and so one.
Ok this relationship that wwe are discussing, is it just an app function, or a single relationship between a record and a person. anything more than that might be over kill?
I just wanted to add to my above PFMFFM app side tracker, I do also count generations down with my Desendant views and relations from the start person. Such like PCCCCCC
Person Childs Childs Childs +++ etc...
But again,
1) requested? have a text field between a person and a record as a text input?
2) this will be all app side conculations?
3) some thing beyond this?
Each person can be a grandfather of, a sibling to 4 other people, a spouse to two other people and step child of another and so one."
Yes, very much not good. Relationships between persons in a database, for display purposes, are easily calculated by the application. For example, Family Tree Maker always shows the relationship between the "home" person and the currently viewed person, no matter how distantly related. FTM doesn't use a set of tags for this; it algorithmically creates the text expression on the fly.
I think the issue behind the issue here is HOW ARE RELATIONSHIPS TO BE REPRESENTED IN BETTER GEDCOM TRANSPORT FILES? I think there are two ways to do it, and I have put both of those ways into the DeadEnds model.
1. If the relationship were established by a known event, then the transport file should contain that Event record and the two Person records that were the role players in the event that caused their relationship to form. For example, we could be talking about a birth event and the mother/child relationship. The Event record will have two role references to the Person records, and the two Person records will have a role reference to the Event record. The two Person records do not refer to each other directly; they refer directly to the Event and the pattern of the references establishes the relationship.
2. If the relationship were established by evidence that stated the relationship existed, but did not mention the event that caused the relationship to be established, then the transport file will contain the two Person records and the Person records will refer to each other directly using relation references; the stepFather/stepDaughter example I gave earlier is an example.
Note that in the first cases, when there is evidence of an event, the persons could also be connected with relation references, but this is overkill since the role references establish those relationships indirectly. The relationship expressions I mentioned earlier can also go through event role references (the examples I gave earlier only went through relation references).
One would never add extra relations to Person records. For example if you know that James was the father of John and John was the father of Daniel, then the transport file would contain the records with role or relation references to establish the John/Daniel relationship, and it would contain the records with the role or relation references to establish the John/Daniel relationship, but THERE WOULD BE NO references to establish the James/Daniel relationship. First there shouldn't be, because (we assume) there is no single item of evidence that establishes the James/Daniel relationship. And second there doesn't need to be, since the James/Daniel relationship is easily inferred from the two other relationships.
Tom Wetmore
Tom:
The difference between:
<relation id="yyy" type="stepFather"/>
and
<relation id="yyy"><type>stepFather</type></relation>
is that in the first case, "stepFather" and all those other items in the list must be defined in BetterGEDCOM.
In the second case, only the "type" attribute is defined, and the program is allowed to define the items of that type in any way it wants because it is now data, and not part of the specification.
Necessary items should be defined, and others should be up to the program.
For example, GEDCOM currently defines a number of events, e.g. BIRT, DEAT, MARR, and a few dozen more. But the GEDCOM developers realized they couldn't define all of them, so they included the general EVEN tag with an optional descriptor to allow for custom events. The EVEN tag has a TYPE subtag whose value defines the type of event:
1 EVEN
2 TYPE Equipment Lease
2 DATE 4 NOV 1837
1 EVEN Appointed Zoning Committee Chairperson
2 TYPE Civic Appointments
2 DATE FROM JAN 1952 TO JAN 1956
2 PLAC Cove, Cache, Utah
2 AGNC Cove City Redevelopment
I think this is a very good feature of current GEDCOM. It allows this data to be imported and the event descriptor and type can be intelligently used by the receiving program.
BetterGEDCOM should retain this style and not try to enumerate the potentially limitless number of possible options.
So I see this as a way to evaluate which properties to make XML attributes and elements and which to make data.
Tom:
You said: "Should I take from your response that you think dealing with step-relationships and other non-biological relationships are too much for genealogical software to deal with?"
I wasn't referring to your example at all. I was talking about the general idea of having lists.
With regards to your example, I don't feel BetterGEDCOM needs to include relationships in its definition. All it needs is the parent/child, husband/wife links and then the program can compute what the relationship is. Computing a step-brother is easy.
Any documentation of the relationship is really a either note attached to the two people, or source data that supports one or more parent/child, husband/wife links.
Louis
ASSOCIATION_STRUCTURE:=
n ASSO @<XREF:INDI>@
+1 RELA <RELATION_IS_DESCRIPTOR>
+1 <<SOURCE_CITATION>>
+1 <<NOTE_STRUCTURE>>
Again, notice the relationship itself is data, and is NOT a tag.
<relation id="yyy" type="stepFather"/>
and
<relation id="yyy"><type>stepFather</type></relation>
is that in the first case, "stepFather" and all those other items in the list must be defined in BetterGEDCOM.
In the second case, only the "type" attribute is defined, and the program is allowed to define the items of that type in any way it wants because it is now data, and not part of the specification.
Necessary items should be defined, and others should be up to the program. "
Tom says: "Why? Where does this rule come from? We never discussed such a rule. XML doesn't require that attribute values come from fixed, "hard" sets (would you say that UUID's used for the values of id attributes come from a short, specifiable list?), nor does it require that element values can't come from small fixed hard sets. XML is a syntax not a semantic -- it is the schemas that makes these rules and there are no Better GEDCOM schemas yet. If I am wrong about this I apologize, but the implied rules you seem to have about how to structure XML files I have never seen expressed elsewhere."
Again I ask: How would you put two persons into a transport file if all you knew about them was that one was the step-daughter of the other? And in such a way that the receiving software could truly UNDERSTAND the relationship, not just have a soft phrase that a user applies to it. By "understand" I mean to be able to use the information algorithmically for searching, for trying to infer new relationships, and so on. I have explained the way I would do it (two Person records connected by relation references using HARD step child and step parent tags). I have explained the way GEDCOM would do it (requiring two INDI records with names, one anonymous INDI record, and two FAM records, and possibly another anonymous INDI record if you want to complete the biological family of the step child). An analogous method to the GEDCOM could be done in Better GEDCOM of course, but every other method I can come up with requires more than just the two Person records in my suggested solution. But I could certainly understand the argument that one would prefer to use the GEDCOM approach to avoid having the step relationships hard coded. But, remember, if you did that, all these "extra" records that you'd have to create (the third person and the two families) would have to have sources, and wouldn't it be a little odd to have all five of those records refer to a source that only mentions two persons and no families? Does anyone have any other examples of how to do it? I would be very interested in other ideas.
By the way I completely agree with the notion of using hard tags for obvious things, and then using soft tags like GEDCOM does for rarer things. It seems that the only difference between you and me is that I advocate a longer list of hard tags. Remember, hard tags allow software to understand, soft tags don't even allow the software to guess; as you say, soft tags are just data. And I hope you noticed from my last post that I have suggested a way to have "firm tags", that is, tags that are user defined but also have semantics that can be understood and used by the software.
The consequences are clear. -- if a relationship is represented by a hard tag, software can understand its underlying semantics. If the relationship is represented by an arbitrary soft phrase, the software cannot. As I see it, it is better to err on the side of long lists than err on the side of short lists.
Tom Wetmore
You don't like lists. I do like lists and believe they are critical, but I've said my piece.
Louis says: "With regards to your example, I don't feel BetterGEDCOM needs to include relationships in its definition. All it needs is the parent/child, husband/wife links and then the program can compute what the relationship is. Computing a step-brother is easy."
I agree with the "all you need part." But I don't think "all you need" is the same as "all that you should have."
If all you allow is parent/child and husband/wife you are advocating the GEDCOM model for representing all relationships. Not that that is automatically bad. But back to the step child example. To represent the step child relationship in a transport file with only parent/child and husband/wife, you need the three persons and two families I have shown. Are you willing to have this? I don't necessarily think it's bad or good, but with your approach you are required to use this solution. That's okay. But I don't think it's the best way. Remember you don't have any real evidence about the third person or the two families. Any by the way if by parent/child you imply biological realationship, your model won't deal with adoption.
To say it is easy to compute step-brother relationships if you have only parent/child and husband/wife relations is trivially true, but that has never been my point. My point is how to actually represent step-brother relationships in the best possible way without encumbering a database or transport file with persons and families there is no direct evidence for. Ah, maybe this is one of those examples of "negative evidence" we hear about from time to time. Saying that George and Henry are step brothers is negative evidence for two husband/wife relations that are not explicitly mentioned. In your solution you would have to create both of those husband/wife relations in order for the software to know the two boys are step-brothers -- even though you know nothing at all about their parents -- and even though you couldn't say anything about which of the three parents was the joint parent of the two boys or anything about the sex of the joint parent. Please think about how ambiguous the families you would have to create would have to be just so your software could understand that the two boys were step-brothers. I just can't condone doing that even though it is possible. It simply does not pass the smell test.
Again. How would you do it? Given the evidence "George and Henry are step-brothers" please explain what you think should be in a Better GEDCOM file to transport this information from one software system to another. You know NOTHING else about George and Henry (note, you don't even know their surnames, which could be the same or could be different).
You do suggest a possible solution in your "Any documentation of the relationship is really a either note attached to the two people, or source data that supports one or more parent/child, husband/wife links."
From this I take away the idea that you would probably create two Person records and put a note in each that the other is his step-brother. But then no software would be able to discover their relationship. I am very much against hiding important information that software should be able to use down in notes that cannot be processed for semantic meaning.
Tom W.
We are all techie types. We all know how to store data and use apps to display one link of is either F or M and a parent family group to other half-siblings and step children.
Is it ok to ask which example of data are we talking about that we are entering into data fields.
Mary Fields, "Reading of the Will", 1943 Her Step father left her the House. *so we are trying to capture her relationship into a data field (step daugther to INDI@xxx).
If this is done then we are capturing the data twice. An (app) can display her relation to the stepfather already as easy seeing who a persons mother or father are.
1) is the point here to have extended tree outlines to display past the nuclear family showing step children and half-siblings instead of the nuclear family.
2) Or is this a need when a research (their are some here which DO NOT use navigational trees to display relationships. BUT they rather look only on records that link to PEOPLE in a name list. The purpose of that to pull a record and LABEL the persons with arelationship status to another person from the record document WITHOUT ever looking or using a navigational INDI tree outlines.
Please for clarity, what was the the need for followed by an example of intent? From the past month these are the only two things I can see from users wish lists and wanted tool functions.
Tom,
Tom says: "Why? Where does this rule come from? We never discussed such a rule. XML doesn't require that attribute values come from fixed, "hard" sets (would you say that UUID's used for the values of id attributes come from a short, specifiable list?), nor does it require that element values can't come from small fixed hard sets. XML is a syntax not a semantic -- it is the schemas that makes these rules and there are no Better GEDCOM schemas yet. If I am wrong about this I apologize, but the implied rules you seem to have about how to structure XML files I have never seen expressed elsewhere."
I'm sorry. Yes, you are 100% correct here. I have not worked much with XML, especially at the model building level, and mistakingly thought attribute values must all be defined. I do intend to leave the defining of the XML for BetterGEDCOM to people who have experience with it.
But it was your extensive list of relationship names that I disagreed with, and did not think we should be defining such lists into BetterGEDCOM. Therefore:
<relation id="yyy" type="stepFather"/>
may then be used, but I think there should not be a fixed list of possible values for the "type" attribute.
As to where I'd put the information that one person is the step-daughter of the other, I'd put it in using the association structure:
0 @I50@ INDI
1 ASSO @I75@
2 RELA step-daughter
The receiving program can easily display the step-daughter relationship under both people. If it's smart, it feasibly could understand what the step-daughter means, but you're going to need an almost intelligent machine if it is going to be able to check the relationship or add it if it doesn't exist.
People need to be the final verification. A simple reason is what if you have two sets of evidence. One that says A is the uncle of B, and the second that says A is the cousin of B. You want both recorded but you don't know which is true. Using genealogical/detective techniques, ultimately a decision can be made, maybe with the "preponderence of evidence" rule. However, a program cannot and should not be relied on to make this decision for you.
So no, you should not get the receiving program to "understand" the relationship. It should only have the relationship documented as a "step-daughter" or "uncle" or "cousin".
Tom,
Right, I don't like long lists and you prefer them. I'm fine with that. I'll be the conservative and you'll be the liberal as we add our comments onto BetterGEDCOM.
I also wasn't familiar with "hard" and "soft" tags, but now you've defined those for me. Thanks.
Re adoption, that is simply a Parent/Child relation with a "Type" of "Adopted" as opposed to a type of "Biological" which is usually the default.
Louis
"One that says A is the uncle of B, and the second that says A is the cousin of B. You want both recorded but you don't know which is true."
Why assume that one is true and one is false when they could both be true?
1. For Better GEDCOM to be a success it must be as complete a model for genealogical processes we can manage to come up with.-Tom
That is 100% Absolutely TRUE!!!!
But where is even the start of this list? We don't even have a simplified list showing name, location, and field input fields required to capture the need data? can we even start a list?
"BetterGEDCOM will have neither of these advantages, and to expect developers to adopt BG for their present programs is , imho, totally unrealistic."
True with what you say and more than likely this will be the outcome.
BUT if some techie ever get a full list of BG required data fields that must be given to capture data. I am not saying naming nodes and tags, just the required fields list that must be met to store data. (AND MAKE A BG LIST)
It is all about money for the big cheeses. If they can lay down parses to convert other software to them, all companies will do this.
Even if they decide not to, there is a whole world of open source programmers like myself wanting to take a take at it. But if we don't have a road map what is to be included as data fields, then all this effort will just be a discussion should have, could have, would have.
It kind of the humor,
"Build It, and they will come"
and they will migrate to a platform that offers better tools and needs per user.
I would really really love it if there was a list. not a topic talking about one item and listing five input feilds, I am hoping for a list greater than 90% to get started. I dont want to start making now with nothing, and then a list come out, I am forced to go back and relabel commands and codes a third time.
In the DeadEnds model I've presented here, some of the tags are mentioned explicitly, while many are "hidden" in the rules for the various kinds of attributes that can occur. In my own software, of course, I have long lists of tags that are possible in different contexts. I'll give an example below by showing the current list of relation role tags currently supported:
aunt
bride
brother
brotherInLaw
child
cousin
daughter
daughterInLaw
father
fatherInLaw
grandFather
grandMother
greatGrandFather
greatGrandMother
greatAunt
greatUncle
groom
halfBrother
halfSister
head
husband
informant
physician
member
mother
motherInLaw
neice
nephew
other
recorder
role
secondCousin
sibling
sister
sisterInLaw
son
sonInLaw
spouse
stepBrother
stepDaughter
stepFather
stepMother
stepSister
stepSon
uncle
undertaker
unknown
wife
witness
This is of course incomplete, but has the relations that I have needed in the past. I add to the list as I need to.
I am not proposing this as a BG list, just as one of the many lists I've had had to put together for DeadEnds software.
On the hard tag versus soft tag issue, I prefer hard tags for all the common and usual cases; doing this allows the semantics of those tags to be built into software applications. But there are a lot of roles that one can't anticipate ahead of time, so a more general technique is also needed. You see in my list that I have on member called "role". On this one it is assumed that there will be a soft sub-type to go along with it.
Tom wetmore
I wish you could edit your own posts on this wiki tool.
;)
I'm with you (re: lists and tags). I can trace the concept of fixed tags/lists back to GenTech.
(1) We don't want to break existing user developed content
(2) Users of some programs create programmed sentences and use the "tag" to name those sentences.
(3) Users create tags to follow specific themes. (I have tags to monitor my dads moveements in WWII)
If you strip users access to tag definition, I think that would break existing user content.
I'm not sure what you mean. I don't believe you can make complexity go away by refusing to acknowledge it. What would be your alternative?
Say you found evidence that said that Mary Fields was the step-daughter of William Dells with no other details. And let's say this was important to you. How would you record that in your database?
I do it like this:
<person id="xxx">
<name>Mary Fields</name>
<relation id="yyy" type="stepFather"/>
<source id="ss"/>
</person>
<person id="yyy">
<name>William Dells</name>
<relation id="xxx" type="stepDaughter"/>
<source id="sss"/>
<person>
<source id="sss"> ... source info... </source>
The software understands the semantics of the relationships, so that the software knows that Mary is the daughter of William's wife, even though at this point nothing else is known about the wife, and there is not even a record for her in the database. The software can infer that William's wife might have been married to a Mr. Fields, but that this isn't sure, but the software can use this possibility internally when helping to suggest possible conclusions from the data. With specified tags one gets specifiable semantics. Without specified tags there are no semantics possible.
I guess this is the crux of the hard tag versus soft tag issue. If you don't have words that mean things, you can say the things you mean. This applies to genealogical software as much as it does to talking to your friends.
If genealogical software does not understand the concepts of step-relationships, how will they get treated in reports? How do others think this example should be dealt with? I hope you don't suggest adding two persons and putting a note in each one.
(It's probably closer to 10 lists with 50 members each.)
If you wanted to fully support this relationship in a pure GEDCOM world, you would have to create a nameless person for William's wife, another nameless person for William's wife's earlier "spouse", a family record with the two nameless persons for Mary's parents and Mary as the only child, and another family record for William's nameless wife and William. You end up with four person records, two being nameless, two family records, and one source record. (This is how I would do this using LifeLines, which is a pure GEDCOM system.)
Tom Wetmore
<x> = tag or node name
<>y<> = is the data input field that excepts data input
"z" is what we define x+z in genealogy terms as BG is going throw each clarifying terms
When I ask for all the possible data “fields” that are “required to be captured” like in y. the list of x such like step mom, step sister, brother, mother, etc. to me those are soft text tag or as rolls people are. Or do you actually have a tag on a person called Step mom and mother and sister to another all at the same time?
It’s a great list to know people want to track these relations which is good!
What kind of field input list I am looking for is kind of like this.
Kind of like for a person individual tree place marker, we need
persons given names
persons surname
persons title
persons start date
persons end date
persons start place
persons end place
persons defualt image
persons ....etc.
For controlling a source
source Title
source classification
source sub class type
source printed date
source recorded date
Source.....ect
Evidence
evidence event place
evidence event date
evidence event location
evidence citation
evidence user note
evidence ...etc...
This kind of a list I am looking for, Like one big excel sheet
person in the tree
Gedcom = INDI
Gramps = Person
Deadends = Individual
sft.xml = PID
But none other the others will formulate a list of all fields used by their db structure.
Gedcom does not even list 100%, they have a write up saying here are some, Repo, sour, date, plac
I dont want some I need ALL fields that capture data.
Does this make sense to you?
With out it, there are no roadway directions for a techie to even start construction on a db transfer. or even not seeing a full list how will Tom know if he his missing something, or if I am missing something. I rather have nodes allocated ready when the data starts flowing, not cry that something was missed, then have to go back alter codes, and commends to handle an input field.
Say you get done, ERRRR, then they bring up another field input that needs to be captured like page of page from a book or sheet, then it is back to adding that and re doing codes and commands again and again and again.
I rather be at 80-90% and only go back once or twice a year. Not having to follow along bit pulling terms from a message board trying to count the many kinds of data fields people are requesting. This has nothing to do with labeling a term or a node tag, it what we call an input field from a techies shoes.
If we don’t have such a list how can anyone make room to cover INCOMING data from another, or export data from a field that no one else will ever use? Then that leave s that app or dev with a 90% exchange rate of data.
Could we make a full list, and break them down into sub groups?
Tom, myself, a gramps rep, gendcom rep. JUST to have that list and check off thier own work for an equiliant node. that nodes <ggg> what ever the app calls it will export out a data block to xml <JJJ> so that any other app can import <JJJ> to thier <uuu>.
just that would be a great starting point. each dev would kn9w if they are lacking a data filed that should be considered, or give ideas to others by seeing such a list. I know it dont make much sense to the user of an app, but a tech,app,dev would like to see a road map from BG to shoot for.
Tom:
The problem with:
<relation id="yyy" type="stepFather"/>
...
<relation id="xxx" type="stepDaughter"/>
is that now the program has to "understand" the meaning of stepFather and stepDaughter and the other 100 tag types. Now you raise the complexity of defining to 200 genealogy software programmers what those tag types mean and that they must check for consistent data between them. Yikes! That's horribly complex.
Instead, make that tag type data, e.g.:
<relation id="yyy"><type>stepFather</type></relation>
...
<relation id="xxx"><type>stepDaughter</type></relation>
Then leave it up to the program to decide how to check for valid relationships.
... but if you can get DeadEnds to work successfully your way, within your and my lifetime, then I'll definitely jump on your bandwagon.
I just don't think it feasible.
I don't see a meaningful difference between ...
<relation id="yyy" type="stepFather"/>
and
<relation id="yyy"><type>stepFather</type></relation>
Choosing which properties to make XML attributes and which to make XML elements is very subjective and I simply do not see the distinction you are trying to make.
Should I take from your response that you think dealing with step-relationships and other non-biological relationships are too much for genealogical software to deal with? If you think the answer is yes then I can see why you object to many of the relationship tags. But if you think our software should be able to deal with the full set of relationships that are meaningful to family historians, aren't you compelled to accept that the software must be able to represent those relationships? And if we are going to transport data between systems, and that data includes those relationships, how are we going to signify those relationships? If we don't do it with type tags how are we going to do it? I am open to suggestions. I would like others to commit their ideas to virtual paper instead of speaking in generalities.
I use an algebra for these relationships. Every complex relationship can be broken down into an expression of simpler relationships built up from a primitive set. So you don't have to include custom code in the software for every relationship, you just have to write one piece of software that understands the relationship algebra. For instance we can represent step-father as an expression. Let F and M represent the father and mother relationship; let Sp represent the spouse relationship. Then the step-father relationship is MSp & !F where & means and and ! means not (this expression means "mother's spouse and not biological father). Another example, consider the culturally important concept of a "parallel cousin" found in many cultures, a cousin who is either a child of your mother's sister or a child of your father's brother. Let S and D be the primitive biological son and daughter relationships. Then the cross cousin relationship is:
FMSS | FMSD | FFSS | FFSD | MMSS | MMSD | MFSS | MFSD
where the |'s mean or (this expressions means "father's mother's son's son or father's mother's son's daughter or ..."). Additionaly, FF | MF defines grandfather (father's father or mother's father), FB | MB defines uncle (father's brother or mother's brother), and so on and so on. With this approach one can add relationships without having to modify existing software. Specify the name of a new relationship, specify its "formula" and the software can use its builtin relationship evaluator to deal with it.
I am not trying to make things more complicated than they need to be. But I do want them to be as complicated as they must be to meet reasonable requirements.
Tom Wetmore
Might I suggest that you post these emails on the Wiki? Others might be interested.
Thank you,
Russ
but for the first two
hmmm?
(1) Is there a work process or work flow associated with the model?
You can either just build a family outline and not have one record of evidence, just something to print pretty trees. (useing only PID and FID xmls)
OR
You can store documents keeping in a xml file and images in the SID xml, then make evidence records per person found in each source record. YOU DONT not need to even link them to a PID xml.
Or build from both ends?PID/FID to EID/SID
This is my plans for wartimepress.com. We have 100k's of images. each image will have 10-30 named militray people each page. Each individual will have ONE eid record.
Kind of like ancestry.com search and view images.
one census image sheet 5 of 17, = 1 SID record
20 indi found = 20 EID records to be entered, that point to one sid.
Just that using eid and sid xml's will act as a searchable archive and repository of wwii records for any WWII publications.
So back to you 1 question
"(1) Is there a work process or work flow associated with the model?"
Q. Are other softwares out there force people to have certain items (steps) before they can proceed?
q 2, evidence-conclusion based.....Hmmmm... I see so much thrown back and forth the past week for a few days straight my head spun. LOL, Give me a day to review you few links, put my feet in your shoes, to answer 2-7 with how you view things.
If i jump the gun here in layman's terms, I like to collect any all records. link them to the people they belong via eid to pid. If I find records that support each other like a-b and b-c and c-d, than d must bare some sort of support to a. But under the person view all records get list.
errr... like to say evidence builds up to a conclusion by a collection of evidence. I think I am stick my foot in my mouth right know. Let me have a day to wear your shoes by not just browsing over the pages from the links you gave but read word for word a few times.
2 FILE C:\Users\(user information and folder name) Media\(media filename).jpg
2 FORM jpg
2 TITL Test Media
2 _TYPE PHOTO
2 _SCBK Y
2 _PRIM Y
Neat, I misssed that becaus ethe the older FTM I had. I had like 1000+ people in my tree when i tried export it away from FTM all I got was a striped down gedcom out put.
Question, GEDCOM and FTM may support an image file, I had many shoebox photos but never achived a FULL DATA export any any kind. That was with FTM ver.11, what version of FTM started to export FULL data files, not striped down one? That crush me not be able to share with family back then.
You wrote, "other softwares out there ..."
when we discuss a data model, I think it helps others to understand the process intended by that model. GenTech had a work flow model.
Put your shoes away, enjoy a warm fire in the best way you know how!!
We are NOT talking about FTM. We are talking about applications in general. I don't know other applications, but as you can tell, I have done some testing for this project.
This issue is What version of GEDCOM does the Application Generate and/or read and open.
In this case, Roots Magic 4 can generate the link as described.
Family Tree Maker Version 11 is very old. I don't consider this forum the place to discussion specific applications, at this point in time. There are other places for those discussions.
Russ
"We are talking about applications in general." My Bad I used an example, but should not have named such an old app descrediting them. Actaully I enjoy thier more robust tree outline printing.
I was getting to a critical point, IF BG is trying to create a stepping stone I am all for it and will bend over backswards to help.
IF BG is not then I dropped the ball with too much expectations. Did I?
Does BetterGEDCOM need to address images, you bet !!!!
I only question the application, is that isn't what this project about. However, I hope that you see the Blog test results that each application has is good points and bad points, both of which point back to the old GEDCOM format, more the last "official" version 5.5. There other formats that came out later. 5.5.1 did start to address the image issue, in that it has links to images.
Russ
A) Then I jumped the gun.
" I hope that you see the Blog test results that each application has is good points and bad points"
Q) Can you provide a link, Thanks
Remark, Since BG guide lines states that is must use xml technology I assumed BG would clarify what to call "x" and what tag to wrap "x" in.
I was going to make my model transfer data to and from this BGxml model to my own SFT model.
Once BG achived a ground model, I was going to make the first wartimepress.com EID evidence records to format to a BG so researchers and users could pull evidence records and and them to thier own military record models. I kind of put the first search databases on hold since Nov. I would really like to open them up.
But I see I am still stuck between a rock and hard spot.
Russ, If BG was/is not trying to achive a stepping stone, was BG just trying to term the proper labels and methods of genealogy standards as in definitions and expectations, not really wanting to produce an actual solution to doing it?
Mike
Sorry. I don't understand the question and am not sure it's even important.
What is being asked, is the ability to share research information between two applications. One may be a home computer another may be on a website. No lost data in this sharing.
How that comes about, is up to you technical folks. I can only speak as a user of a program. I have shown, on the blog, some of the results of what happens when I try to share today. I have other results to post in the next couple of days. Each test, so have, has shown similar results.
Russ
Russ that is my goal, not any app being the leader, just a way to directly share, or output to a stepping stone, so that the other app can import it from with 100% data transfer.
Sorry if some of my tangents get abit out there but I am reaching for straws at times.
" some of the results of what happens when I try to share today"-Russ
I have seen that, that is my biggest peeve also. If I do work in one app and wish to share or migrate, I want that app to release "ALL MY WORK" in a file that can be absorbed by the next app/program/person.
If I ever try to explain something in the future, you can be sure that this what I am trying to get too. Or I may be offering an idea how to.
Where My hands are tied! I know and understand Gedcom structure, but do not have a complete list of ALL the tags they use like INDI REPO FAM SOUR MARR etc....
For Gramps do they have a list, for GENtech wheres there list? even any other ones.
From a techie point of view, I could care less what you want to call "x". but if you show me "x" is stored in gedcom MARR, and the equivelant in gramps is MARI, and gentech is BOND, THEN I could make a xml sxlt parse in a week or less.
But it seems every model talks long winded about terminology but never shows a full tag or node list structure.
If techies don't know where an app sticks its record change, how can we create a parse to located that tag and export it.
Me as a techie, I need the "road maps" to the tag and node structures. With out that it is like talking about how to get to the general store, making a right over yonder, and left when you see a farmer Wilson brown cow not the black one. All I can guess is that data it stuck somehere around such a node? How many levels deep?
from a techie point, with out seeing the actual full structure IN use, it is hard for any techie to create a transfer bridge between two db structures.
SO my next attempt for a solution is/was.....
That is why I was suggesting that, WHILE BG creates the Terminology what to call "X", and just state the input Z field name, OR BETTER wrap that data "x" in a tag called "Z".
At least from this point say Tom from Deadends can transfer his structure export of data from tag "b" holding "x" to the BG tag "z".
once in BG format, I can parse that same bgxml and pull "x" from "z" and place "x" in my "u" tag.
But it would be my responsibility to export my data to that same guideline, so Tom would have the same opportunity to get my data, the same way, when I export it to a BG standard in xml.
I know you are a User and tester of many apps, but from a techie stand point I really would really need to see all the input field types an app uses.
I think I am off on a tangent again. Let me stop here for today. I will think how to write this from a techie point of needs to get it rolling. If someone else wants to better word it from a techie shoes, please feel free to say what is needed to get a transfer stepping stone going, OR another solution that one may see better in doing it.
Genealogical programs don't share the same views about genealogical data. There are things you can store in one program's database that you cannot store in another's. Every program has its own internal data structures based on its own data model based on the whims, opinions and knowledge of the persons who designed it. None of them cared about GEDCOM as a primary requirement. They all implement a different model of genealogical data. Those models are all different, sometimes subtly, sometimes amazingly divergently. They don't map to one another. They don't map to GEDCOM or back from GEDCOM. It is pointless to describe how transformations can be done between them, if the transformations loose data and misinterpret data at every step. The data loss and data misinterpretation are not problems we can solve by patching GEDCOM or tabulating the tags used by all the programs, or deciding how many files to put our records in, or deciding to use XML or Unicode, or DOM parsers or XSLT. Better GEDCOM should be the project that tries to move us out of this unfixable world into one where sharing becomes possible.
And the whole key to moving out of the unfixable world we are in is to try to create a model of genealogical data types that tries to encompass the whole set of genealogical processes that we anticipate will be supported by anyone writing reasonable genealogical software. If we want to truly share data between software programs, the model the transport files implement must be able to encompass the models used by all programs. For Better GEDCOM to be a success it must be as complete a model for genealogical processes we can manage to come up with. It does makes sense to compare current models with one another to help us evolve to that model, but not to figure out how we can transform between them, because that is impossible. So yes comparisons are important and useful, but are we really talking about them in the right way here?
And even having that model is not a panacea, because there is no way that having such a model is ever going to "fix up" the current batch of programs and make them share data. The only way to make sharing work is to have a transport file format based on a model that is so complete that every program can both map to it and be compelling enough that the program designers want to support it. And even this is not a panacea, because it is unlikely (impossible actually) to expect every software program to fully support in their own databases the full model the transport file's model allows. And this means that sharing would still be a lossy operation, but at least there would be no misinterpretation or reinterpretation of the data that does transport. And this is all one can ever hope for.
Tom Wetmore
1). An application with a large user base interested in sharing the same type of data.
2). An application that gained immediate acceptance because it was priced at $35.00 when most genealogy programs were priced at $250+.
Other developers were forced by market forces to use GEDCOM if they wanted to stay in business.
BetterGEDCOM will have neither of these advantages, and to expect developers to adopt BG for their present programs is , imho, totally unrealistic.
BG only real hope is to be so overwhelmingly superior as a transfer method that developers will be willing to write new applications to take advantage of it.
As to how they get their new applications to handle their old files should be left to them-not BG.
For now I think this 7 q
"Assuming it is an "evidence-conclusion based model, how will would the BetterGEDCOM transfer mechanism of this model support "conclusion based" software export?"
I think before BetterGEDCOM can support any kind of transfer mechanism of any data. the other models need to supply a sample of its own data. This way if all madels call NAME as name or Given name + Surname. BetterGEDCOM must come to a concensus to say if your model say uses data as "John P./Smith" or "John P." and "Smith"
Both must export data to xml nodes as
<BGxml>
<Indi>123<Indi>
<Gname>John P.</Gname><Sname>Smith</Sname>
</BGxml>
Once this stepping stone is achived by the Bettergedcom it would be up to all the other independant applications ad software providers to parse this BGmodel an import the data fields into thier own nodes as <NAME>John P./Smith</NAME>
or
<NAMEFIRST>John P.<NAMEFIRST><NAMELAST>Smith<NAMELAST>
I have been under the impression that was BG's root goal. Call to arms the standard what to term "x" and how it will be in xml technology.
Did I over shoot and expect to much?
If this is the final goal of BG, should BG make a list of all data fields that MUST be captured. Make a list of the data feild terms and call out the TAGS to warp that field.
let the other apps and models sync up with sxlts to import and export to a BG model in order to migrate from one app to another with 100% data transfer.
If I am wrong please let me know, I can stop. I hope not.